
        <HTML>
		<HEAD>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<meta name="description" content="Flash MX 2004 ActionScript2.0 Library: Cylinder - Wright Internet Solutions">
		<meta name="keywords" content="geometry,quadric,Cylinder,Flash,MX,2004,ActionScript,ActionScript2.0,AS2.0 Library,AS2,AS2 Library,Wright Internet Solutions,Wright,class,documentation,methods,functions,interfaces,JavaScript,Java">
		<TITLE>WIS AS2 Library : com.wis.math.geom.quadric.Cylinder Documentation</TITLE>

		<STYLE><!--
		HR.small{height:1px; width:100%; background:#E7BFA3; border: 0px;}
		HR.big{height:4px; width:100%; background:#E7BFA3; border: 0px;}
		A:hover{text-decoration: underline}
		A{text-decoration: none; color: #993333}
		code{font-family: monospace; font-size: 12px; color: #666666;}
		.methodAttributesTitle{font-size: 12px; font-weight: bold; color: #7B779C}
		.ToC{font-size: 12px; font-weight: bold; color: #993333}
		.methodTitle{font-size: 14px; font-weight: bold; color: #993333}
		.groupTitle{font-size: 18px; font-weight: bold; color: #993333}
		.sectionTitle{font-size: 22px; font-weight: bold; color: #993333}
		.majorTitle{font-size: 32px; font-weight: bold; color: #993333; padding-bottom:100px;}
		.methodsDiv{margin-left:40px;}
		.footer{font-size: 11px; color: #666666;}
		body{font-family: arial,sans-serif; font-size: 12px;}
		//--></STYLE>

		</HEAD>
		<BODY bgColor='#ffffcc'>
		<P class='majorTitle'>com.wis.math.geom.quadric.Cylinder Documentation</P>


		<P><B>Author:</B> <a href='mailto:wisolutions2002@shaw.ca?subject=wisASLibrary Cylinder Class'>Richard Wright</a><BR>
		<B>Last Modified:</B> 08/03/04 00:50:16<HR class='big'>

		<P class='sectionTitle'>Summary</P>
		<P class='ToC'>com.wis.math.geom.quadric.Cylinder class:</P>
		<div class='methodsDiv'><a href='#classinfo'>- description</a></div>
<P class='ToC'>com.wis.math.geom.quadric.Cylinder Properties:</P><div class='methodsDiv'>
<a href='#$end1'>- $end1</a><br>
<a href='#$end2'>- $end2</a><br>
<a href='#$negEnd1'>- $negEnd1</a><br>
<a href='#$negEnd2'>- $negEnd2</a><br>
<a href='#$normAxis'>- $normAxis</a><br>
<a href='#$negNormAxis'>- $negNormAxis</a><br>
<a href='#$rad'>- $rad</a><br>
<a href='#$radSquared'>- $radSquared</a><br>
<a href='#$open'>- $open</a><br>
<a href='#$boundedBy'>- $boundedBy</a><br>
</div><br>
<P class='ToC'>com.wis.math.geom.quadric.Cylinder Methods:</P><div class='methodsDiv'>
<a href='# copy'>-  copy</a><br>
<a href='# initialize'>-  initialize</a><br>
<a href='# findIntersectionsUntransformed'>-  findIntersectionsUntransformed</a><br>
<a href='# isPointInsideUntransformed'>-  isPointInsideUntransformed</a><br>
<a href='# getNormalAtUntransformed'>-  getNormalAtUntransformed</a><br>
<a href='# getNormalAt'>-  getNormalAt</a><br>
</div><br>

		<HR class='big'>
		<P class='sectionTitle'><A name='classinfo'></A>com.wis.math.geom.quadric.Cylinder <I>class</I></P>
		<P> <span class='methodTitle'>version:</span> 1.7</P>
		<P class="methodTitle">description:</P>
		<P>Implements the behaviours of the Cylinder Class.
 <p>
 		        Provides methods for the IObj interface based on JS RayTracer2 by
 John Haggerty. Since the interface doesn't permit overloading
 methods, I've added the 'getNormalAt' method to define the normal
 to the passed intersection and 'pos' Vector object, and I've changed
 'getNormalAtUntransformed' into an abstract method that supports
 the interface but doesn't get called. This is a workaround and may
 change with testing.
 </P>
		<P class="methodTitle">usage:</P> <pre>var inst:Cylinder = new Cylinder(end1,end1,rad,open);</pre>

<P> <span class='methodTitle'>parameters:</span>
				<ul>
<li>      end1 (Vector)  -- a position Vector object defining the center of one end of the cylinder.</li>
<li>      end2 (Vector)  -- a position Vector object defining the center of the other end of the cylinder.</li>
<li>      rad (Number)  -- a real number for radius of the cylinder barrel.</li>
<li>      open (Boolean)  -- default is 'false', cylinder ends are closed.</li>
</ul>

			<HR class='small'>
			<P class='groupTitle'><A name='properties'></A>com.wis.math.geom.quadric.Cylinder Properties:</P>
			<div class='methodsDiv' >


				<P class='methodTitle'><A name='$end1'></A><u> $end1</u></P>
				<P> (Vector)  -- a position Vector object defining the center of one end of the cylinder.</P>

				<P class='methodTitle'><A name='$end2'></A><u> $end2</u></P>
				<P> (Vector)  -- a position Vector object defining the center of the other end of the cylinder.</P>

				<P class='methodTitle'><A name='$negEnd1'></A><u> $negEnd1</u></P>
				<P> (Vector)  -- a Vector object defining negative of $end1.</P>

				<P class='methodTitle'><A name='$negEnd2'></A><u> $negEnd2</u></P>
				<P> (Vector)  -- a Vector object defining negative of $end1.</P>

				<P class='methodTitle'><A name='$normAxis'></A><u> $normAxis</u></P>
				<P> (Vector)  -- a Vector object defining the normal to the cylinder barrel axis.</P>

				<P class='methodTitle'><A name='$negNormAxis'></A><u> $negNormAxis</u></P>
				<P> (Vector)  -- a Vector object defining negative of $normAxis.</P>

				<P class='methodTitle'><A name='$rad'></A><u> $rad</u></P>
				<P> (Number)  -- a real number for radius of the cylinder barrel.</P>

				<P class='methodTitle'><A name='$radSquared'></A><u> $radSquared</u></P>
				<P> (Number)  -- a real number for square of the radius.</P>

				<P class='methodTitle'><A name='$open'></A><u> $open</u></P>
				<P> (Boolean)  -- default is 'false', cylinder ends are closed.</P>

				<P class='methodTitle'><A name='$boundedBy'></A><u> $boundedBy</u></P>
				<P> (Box)  -- bounding box object.</P>
</div>

			<HR class='small'>
			<P class='groupTitle'><A name='methods'></A>com.wis.math.geom.quadric.Cylinder Methods:</P>
			<div class='methodsDiv' >


				<P class='methodTitle'><A name=' copy'></A><u>  copy</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Copies super's properties with its 'copyModifiers' method.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.copy();</pre>
     </P>
<P><span class='methodAttributesTitle'>returns:</span> (Obj)  -- returns a new Cylinder object populated with super's properties.
    </P>

				<P class='methodTitle'><A name=' initialize'></A><u>  initialize</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Initializes this instance's bounding box and its super's
     low-level properties, and defines $radSquared, $negEnd1,
     $negEnd2, $normAxis, and $negNormAxis properties.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.initialize();</pre>
     </P>
<P><span class='methodAttributesTitle'>returns:</span> (Void)
    </P>

				<P class='methodTitle'><A name=' findIntersectionsUntransformed'></A><u>  findIntersectionsUntransformed</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Calculates enter and exit intersections, if any, defined by
     'ray' tracer.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.findIntersectionsUntransformed(ray);</pre>
     </P>
<P> <span class='methodAttributesTitle'>parameters:</span><ul>
<li>  ray   (Ray)  -- tracer object that defines its point and direction in 3-space.</li>
</ul></P>
<P><span class='methodAttributesTitle'>returns:</span> (Array)  -- returns a list of Intersection objects, or an empty list.
    </P>

				<P class='methodTitle'><A name=' isPointInsideUntransformed'></A><u>  isPointInsideUntransformed</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Tests whether passed 'pos' Vector object is inside this instance.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.isPointInsideUntransformed(pos);</pre>
     </P>
<P> <span class='methodAttributesTitle'>parameters:</span><ul>
<li>  pos   (Vector)  -- a position Vector object.</li>
</ul></P>
<P><span class='methodAttributesTitle'>returns:</span> (Boolean)
    </P>

				<P class='methodTitle'><A name=' getNormalAtUntransformed'></A><u>  getNormalAtUntransformed</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Defines the normal to the passed 'pos' Vector object.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.getNormalAtUntransformed(pos);</pre>
     </P>
<P> <span class='methodAttributesTitle'>parameters:</span><ul>
<li>  pos   (Vector)  -- a position Vector object.</li>
</ul></P>
<P><span class='methodAttributesTitle'>returns:</span> (Vector)  -- returns normal of passed Vector object.
    </P>

				<P class='methodTitle'><A name=' getNormalAt'></A><u>  getNormalAt</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Defines the normal to the passed 'pos' Vector object.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.getNormalAt(pos,isect);</pre>
     </P>
<P> <span class='methodAttributesTitle'>parameters:</span><ul>
<li>  pos   (Vector)  -- a position Vector object.</li>
<li>  isect   (Intersection)  -- an Intersection object.</li>
</ul></P>
<P><span class='methodAttributesTitle'>returns:</span> (Vector)  -- returns normal of passed Vector object.
    </P>
</div>

			<BR>
			<BR>
			<HR class='big'>
			<span class="footer">generated with <A href='http://blog.klaustrofobik.org/' target='_blank'>AS2docGenerator beta 0.5.3</A></span>
			</BODY>
			</HTML>

